1. Field
The disclosure relates to a method, system, and article of manufacture for the usage of persistent information unit pacing protocol in fibre channel communications.
2. Background
Fibre Channel refers to an integrated set of architectural standards for data transfer developed by the American National Standards Institute. Fibre Connection (FICON) is a protocol of the fibre channel architecture and may also be referred to by the formal name of FC-SB-3. Further details of FC-SB-3 may be found in the publication, “FIBRE CHANNEL Single-Byte Command Code Sets-3 Mapping Protocol (FC-SB-3)”, Rev. 1.6, published by the American National Standards for Information Technology on Mar. 26, 2003 and in the publication, “Fibre Channel Single-Byte Command Code Sets-3”, AMENDMENT 1 (FC-SB-3/AM1), INCITS 374-2003/AM1-2007, published by the American National Standard for Information Technology on 28 Sep., 2007.
A channel is a direct or a switched point-to-point connection between communicating devices. In the Fibre Channel architecture, a FICON channel may perform the functions specified by FC-SB-3 to provide access to Input/Output (I/O) devices by means of control units or emulated control units. FICON channels may rely on packet switching for transferring data between communicating devices.
A channel command word (CCW) is a control block which includes an I/O request, and may refer to a structure of a specific system architecture which specifies a command to be executed along with parameters. A channel program is a sequence of one or more channel command words executed sequentially that controls a specific sequence of channel operations. FICON channels may transmit up to sixteen channel command words at a time along with the associated data for any write operations, where a channel command word may be referred to as an “information unit” (IU). If more than sixteen information units are present in a channel program then after the transmission of the first sixteen information units the remaining information units may be transmitted in groups of eight until the channel program is completed. The additional information units beyond sixteen can only be sent after having received a Command Response from the recipient in response to a Command Response Request (CRR). It should be noted that although it is common practice for the transmission of the remaining information units to be made in groups of eight, the transmission of the remaining information units need not necessarily be in groups of eight.
Extended Remote Copy (XRC) also referred to as Global Mirror Z (GMz or zGM) is a copy function available for the z/OS* and OS/390* operating systems. XRC maintains a copy of the data asynchronously at a remote location, and can be implemented over extended distances, such as distances of over one hundred kilometers. XRC may be used in IBM Enterprise Storage Servers* (ESS). Further details of XRC may be found in the publication “IBM TotalStorage Enterprise Storage Server: Implementing ESS Copy Services with IBM eServer zSeries,” published by International Business Machines Corporation, in July, 2004. * z/OS, OS/390, and Enterprise Storage server are trademarks or registered trademarks of International Business Machines Corporation.
Extended Distance XRC configurations may use fiber channel extension technologies between a remote host and a primary site control unit. This extended Fibre Channel may be used by the remote host to read data from the primary site control unit and store the backup data on storage at a remote site. The remote host may issue command chains to the primary site control unit containing a define subsystem operation (DSO) command followed by a series of read record set (RRS) commands, and finally a Perform Subsystem Function (PSF)/Read SubSystem Data (RSSD) command set to determine the number of side-file entries for the next chain. The count of RRS commands in the chain may be indicated in the DSO command parameters. This count in certain solutions may be about 150 CCWs.
A flow control method referred to as “information unit pacing” in the FICON architecture, may restrict a FICON channel to have at most sixteen information units in flight at any point in time. A channel program may request a command response information unit by setting the command response request (CRR) bit in the eighth information unit. When the channel program receives the command response information unit from the control unit, another 8 information units are sent. This may cause data rate droop at extended distances, such as distances beyond a hundred kilometers, because the control unit must receive the first group of 16 information units before requesting additional units according to the FICON pacing protocol, thus adding additional round trips of communication between the channel and control unit ports. The number of round trips depends on the size of a channel command word chain. If there are 150 channel command words in a channel command word chain, then there may be up to 17 round trips. At extended distances, such as distances beyond a hundred kilometers, a significant overhead may be added for the additional round trips of communication.
For this reason, so called “spoofing” channel extenders have added functionality to examine each command to see the command is a DSO/RRS command chain. If so, the remote channel extender may generate a CCW chain of RRS commands to simulate commands that are expected to be received by the local extender. The data is shipped by the remote extender to the local extender where the CCW chain is then executed on the data received as if it were in the control unit. This avoids data rate droop caused by extra round trips required of long distance. However, this functionality in the channel extenders may limit customers to relatively expensive solutions for channel extension.